package com.truth.lock;

import com.truth.lock.executor.TruthLockExecutor;

/**
 * @author truth
 */
public class LockInfo {

    /**
     * 分布式锁的名称
     */
    private String lockKey;

    /**
     * 分布式锁的值
     */
    private String lockValue;

    /**
     * 过期时间
     */
    private Long expire;

    /**
     * 获取分布式锁超时时间
     */
    private Long acquireTimeout;

    /**
     * 获取分布式锁次数
     */
    private int acquireCount;

    /**
     * 分布式锁的实例
     */
    private Object lockInstance;

    /**
     * 分布式锁执行器
     */
    private TruthLockExecutor<Object> executor;

    public String getLockKey() {
        return lockKey;
    }

    public void setLockKey(String lockKey) {
        this.lockKey = lockKey;
    }

    public String getLockValue() {
        return lockValue;
    }

    public void setLockValue(String lockValue) {
        this.lockValue = lockValue;
    }

    public Long getExpire() {
        return expire;
    }

    public void setExpire(Long expire) {
        this.expire = expire;
    }

    public Long getAcquireTimeout() {
        return acquireTimeout;
    }

    public void setAcquireTimeout(Long acquireTimeout) {
        this.acquireTimeout = acquireTimeout;
    }

    public int getAcquireCount() {
        return acquireCount;
    }

    public void setAcquireCount(int acquireCount) {
        this.acquireCount = acquireCount;
    }

    public Object getLockInstance() {
        return lockInstance;
    }

    public void setLockInstance(Object lockInstance) {
        this.lockInstance = lockInstance;
    }

    public TruthLockExecutor<?> getExecutor() {
        return executor;
    }

    public void setExecutor(TruthLockExecutor<Object> executor) {
        this.executor = executor;
    }
}
